home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 3.8 KB | 119 lines | [TEXT/MPS ] |
- {
- File: MacOSMediaPartitionMap.p
-
- Contains: MacOS Partition Map Format definitions
-
- Version: Technology: Copland
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- }
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT MacOSMediaPartitionMap;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED __MACOSMEDIAPARTITIONMAP__}
- {$SETC __MACOSMEDIAPARTITIONMAP__ := 1}
-
- {$I+}
- {$SETC MacOSMediaPartitionMapIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
-
- {$IFC UNDEFINED __TYPES__}
- {$I Types.p}
- {$ENDC}
-
- {$PUSH}
- {$ALIGN MAC68K}
- {$LibExport+}
-
- {$IFC FOR_SYSTEM8_PREEMPTIVE }
- {
- * Prior to System 8 these structures are defined in SCSI.h
- }
- { Signatures }
-
- CONST
- sbSIGWord = $4552; { signature word for Block 0 ('ER') }
- sbMac = 1; { system type for Mac }
- pMapSIG = $504D; { partition map signature ('PM') }
- pdSigWord = $5453;
-
- oldPMSigWord = $5453;
- newPMSigWord = $504D;
-
- { Driver Descriptor Map }
-
- TYPE
- Block0Ptr = ^Block0;
- Block0 = PACKED RECORD
- sbSig: INTEGER; { unique value for SCSI block 0 }
- sbBlkSize: INTEGER; { block size of device }
- sbBlkCount: LONGINT; { number of blocks on device }
- sbDevType: INTEGER; { device type }
- sbDevId: INTEGER; { device id }
- sbData: LONGINT; { not used }
- sbDrvrCount: INTEGER; { driver descriptor count }
- ddBlock: LONGINT; { 1st driver's starting block }
- ddSize: INTEGER; { size of 1st driver (512-byte blks) }
- ddType: INTEGER; { system type (1 for Mac+) }
- ddPad: ARRAY [0..242] OF INTEGER; { ARRAY[0..242] OF INTEGER; not used }
- END;
-
- { Driver descriptor }
- DDMapPtr = ^DDMap;
- DDMap = RECORD
- ddBlock: LONGINT; { 1st driver's starting block }
- ddSize: INTEGER; { size of 1st driver (512-byte blks) }
- ddType: INTEGER; { system type (1 for Mac+) }
- END;
-
- { Partition Map Entry }
- { packed in ".i" }
- PartitionPtr = ^Partition;
- Partition = PACKED RECORD
- pmSig: INTEGER; { unique value for map entry blk }
- pmSigPad: INTEGER; { currently unused }
- pmMapBlkCnt: LONGINT; { # of blks in partition map }
- pmPyPartStart: LONGINT; { physical start blk of partition }
- pmPartBlkCnt: LONGINT; { # of blks in this partition }
- pmPartName: PACKED ARRAY [0..31] OF UInt8; { ASCII partition name }
- pmParType: PACKED ARRAY [0..31] OF UInt8; { ASCII partition type }
- pmLgDataStart: LONGINT; { log. # of partition's 1st data blk }
- pmDataCnt: LONGINT; { # of blks in partition's data area }
- pmPartStatus: LONGINT; { bit field for partition status }
- pmLgBootStart: LONGINT; { log. blk of partition's boot code }
- pmBootSize: LONGINT; { number of bytes in boot code }
- pmBootAddr: LONGINT; { memory load address of boot code }
- pmBootAddr2: LONGINT; { currently unused }
- pmBootEntry: LONGINT; { entry point of boot code }
- pmBootEntry2: LONGINT; { currently unused }
- pmBootCksum: LONGINT; { checksum of boot code }
- pmProcessor: PACKED ARRAY [0..15] OF UInt8; { ASCII for the processor type }
- pmPad: ARRAY [0..187] OF INTEGER; { ARRAY[0..187] OF INTEGER; not used }
- END;
-
- {$ENDC}
- {$ALIGN RESET}
- {$POP}
-
- {$SETC UsingIncludes := MacOSMediaPartitionMapIncludes}
-
- {$ENDC} {__MACOSMEDIAPARTITIONMAP__}
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-